package 并发编程02.main函数里面有多少个线程;

import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;

public class Test {
    public static void main(String[] args) {
        System.out.println(Thread.activeCount());
        ThreadMXBean tmxb=ManagementFactory.getThreadMXBean();
        //获取线程堆栈区里面的信息
        ThreadInfo[] threadInfos=tmxb.dumpAllThreads(false,false);
//        for (ThreadInfo threadInfo : threadInfos) {
//            System.out.println(threadInfo.getThreadId()+":"+threadInfo.getThreadName());
//        }
//        [10]Monitor Ctrl-Break
//        [5]Attach Listener       //添加事件
//        [4]Signal Dispatcher    // 分发处理给JVM信号的线程
//        [3]Finalizer           //调用对象finalize方法的线程
//        [2]Reference Handler   //清楚reference线程
//        [1]main   //main线程,程序入口
        Thread.currentThread().getThreadGroup().list();
    }
}
